1. Field of the Invention
The present invention relates to the text image mode of a video graphics adapter (VGA). More particularly, the present invention relates to programmable text image stretching by replication of the cell lines in a character cell wherein the character cell height is not managed by the computer system's basic input and output system (BIOS).
2. The Prior Art
In a character oriented or text video display, the microprocessor of the computer system views the video display screen as an array of character positions. Each of the character positions in the array is termed a character cell. The display of an individual text character in a character cell is formed as a dot matrix in the character cell. The number of dots or pixels in the character cell height corresponds to the font size of the text. Typically, the number of dots in the height of the character cell is eight, fourteen, or sixteen dots. The IBM text mode standard character cell sizes are, 9.times.14 dot, 8.times.l6 dots, and a double scan of 8.times.8 dots (width.times.height). The size of the character cell includes dots to provide blank space between individual characters in the same row and between lines of text in adjacent rows.
An individual row of dots in a character cell is referred to as a cell line. For example, in a character cell that is sixteen dots in height, there will be sixteen cell lines in the character cell. In a row of text images displayed on a video display screen, the corresponding cell lines of each of the character cells in the row are strung together to form a scan line. The number of rows in the array of character cells that are present in the video display screen may vary, but typically there are twenty-five rows in the array. For a video display screen with a character cell size that is sixteen dots in height, and which has twenty-five rows in the array of character cells, there will be four hundred scan lines, in the video display screen. The most widespread video display screens have either three hundred and fifty or four hundred scan lines.
In IBM standard text mode, each of the text characters in each of the three standard font sizes generally have a unique dot matrix pattern. For example, the text character "A" will have a dot matrix pattern that is different from the dot matrix pattern of the text character "B", and the dot matrix pattern for the text character "A" in a character cell having a height of fourteen dots will be different from the text character "A" in a character cell having a height of sixteen dots. Upon power up, the operating system will load the dot matrix pattern of each character in each font into a font memory space that is readily accessible to the microprocessor, typically a character generator RAM in the VGA. The dot matrix pattern of every cell line of each character in a font is assigned a different addressable location in the character generator RAM.
The lines of text images appearing on a video display screen are output from the character generator RAM as a plurality of scan lines under the control of a video display controller in the VGA.
For the character generator RAM to output data to the video display screen, the character generator RAM is provided with two pieces of address information by the video display controller. The first piece of address information identifies the character to be displayed and any desired attributes of the character such as blinking, bold, etc. The first piece of address information is obtained from a RAM by the video display controller in the VGA in response to a signal from the microprocessor. The video display controller in the VGA concatenates the first piece of address information with the second piece of address information. The second piece of information is the cell line of the character that is to be displayed. This second piece of address information is generated by the video display controller. With these two pieces of information, the dot pattern comprising a scan line may be read out of the character generator RAM and displayed on the video display screen.
The text images displayed in text mode are commonly generated by an application program designed to display specific information to the user of a computer system. For example, when an IBM compatible computer using DOS in turned on, text images are displayed to the computer user. The designers of these application programs sometimes desire to display the text images on the video display screen in a height that is greater than any of the three standard text font sizes available. Changing the font size height of one of the three font sizes is known in the art as text image stretching. There are generally two implementations of text image stretching known in the prior art. Both implementations scan one or more cell lines in a character cell more than once.
In the first implementation of prior art text image stretching, the IBM standard, both the cell lines in the character cell selected for replication and number of times the selected cell lines are to be replicated is fixed or hardwired into the machine. For example, to stretch the text image from a character cell height of sixteen dots to a text image of twenty-four dots in height, the machine may be hardwired so that three of the cell lines might be scanned three times and two of the cell lines might be scanned two times to provide a total of eight additional cell lines in the text image.
In a second implementation of prior art text image stretching, the cell lines in the character cell selected for replication and number of times the selected cell lines are to be replicated are programmed by the designer of the application program displaying the text images. The codes for selecting the cell lines in the character cell for replication and number of times the selected cell lines are to be replicated reside in a pair of registers in the video display controller. The control instructions in the pair of registers are loaded by the microprocessor BIOS when an application program is opened or the font size in the application program is changed. When the font size in the application program is changed, the application program in this prior art implementation requests the BIOS to change a character cell height register in the video display controller to reflect the change in the font size. The character cell height register is employed by the VGA to keep track of the cell line being replicated.
This second prior an text image stretching implementation represents an improvement over the IBM standard hardwired text image stretching, because the control codes loaded onto the pair of registers can be programmed to select the desired text image stretching. In this implementation, a bit corresponding to the cell line being scanned is selected from each of the pair of registers to form a count of zero, one, two, or three indicating the number of times the cell line should be scanned. When the count is zero, the video display controller increments the portion of the address provided to the character generator RAM that indicates the cell line to be scanned. A drawback to this approach is that the microprocessor BIOS is required to manage the font size to correspond to the control codes in the pair of registers for the new font size.
Accordingly, it is an object of the present invention to provide text image stretching that is programmable for the desired cell line replication by an application program, but does not require the microprocessor BIOS to manage a change in font size.